package com.hpeu_01.day0125;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

/**
 * UDP编程——接收端
 * 步骤：
 * 1. 创建DatagramSocket
 * 2. 创建DatagramPacket来封装数据
 * 3. 调用DatagramSocket对象的receive方法来接收数据
 * 4. 处理数据
 * 5. 关闭资源
 */
public class UDPReceive {
    public static void main(String[] args) {
        try {
            //1. 创建DatagramSocket
            DatagramSocket ds = new DatagramSocket(8989);

            // 2. 创建DatagramPacket来封装数据
            byte[] b = new byte[1024];
            int length = b.length;
            DatagramPacket dp = new DatagramPacket(b, length);

            // 3. 调用DatagramSocket对象的receive方法来接收数据
            ds.receive(dp);

            //4. 处理数据
            byte[] data = dp.getData();// 获取数据
            int len = dp.getLength();//获取长度

            System.out.println(new String(data, 0, len));

            //5.关闭资源
            ds.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
